<?php

declare(strict_types=1);

namespace App\Model;

use Hyperf\DbConnection\Model\Model;

/**
 * @property string $menuId 菜单id
 * @property string $menuSnowflakeId 菜单雪花id
 * @property string $pid 父级
 * @property string $belongTo 属于 1-总后台
 * @property string $level 层级
 * @property string $name 名称
 * @property string $title 标题填写语言文件键名下标
 * @property string $route 路由
 * @property string $path 路径
 * @property string $activePath 激活菜单路径
 * @property string $link 外部链接或iframe内嵌地址
 * @property string $icon 图标
 * @property string $permissionMark 权限标识
 * @property string $queryParams query参数
 * @property string $pathParams path参数
 * @property string $method 请求方式 1-get 2-post 3-put 4-delete 5-arbitrary
 * @property string $status 状态 1-正常 2-禁用
 * @property string $type 类型 1-菜单 2-权限
 * @property string $isHide 是否隐藏 1-是 2-否
 * @property string $isHideTab 是否隐藏tab 1-是 2-否
 * @property string $isKeepAlive 是否缓存 1-是 2-否
 * @property string $isFixedTab 是否固定在tab栏 1-是 2-否
 * @property string $isIframe 是否iframe内嵌 1-是 2-否
 * @property string $isFullPage 是否全屏显示 1-是 2-否
 * @property string $isBadge 是否带徽章 1-是 2-否
 * @property string $badgeText 徽章文字
 * @property string $sort 排序
 * @property string $createTime 创建时间
 * @property string $updateTime 更新时间
 */
class Menu extends Model
{
        /**
         * 主键字段
         */
        public string $primaryKey = 'menuId';

        /**
         * 不自动维护时间
         * @var bool
         */
        public bool $timestamps = false;

        /**
         * The table associated with the model.
         */
        protected ?string $table = 'menu';

        /**
         * The attributes that are mass assignable.
         */
        protected array $fillable = [];

        /**
         * The attributes that should be cast to native types.
         */
        protected array $casts = ['menuSnowflakeId' => 'string'];
}
